CREATE TABLE [dbo].[tb_MovimientosBYP]
(
[idMovimiento] [int] NOT NULL IDENTITY(1, 1),
[IdBecaYPrestamo] [int] NOT NULL,
[LiquidacionByP] [int] NOT NULL,
[Monto] [float] NOT NULL,
[Fecha] [datetime] NOT NULL,
[IdTipoDeMovimiento] [int] NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[ControlarABMmovimientos] ON [dbo].[tb_MovimientosBYP] 
FOR INSERT, UPDATE
AS
SET NOCOUNT ON
DECLARE @LiquidacionByP as int--, @IdTipodeMovimiento as int


SELECT  @LiquidacionByP=LiquidacionByP  FROM inserted

IF (SELECT count( *) FROM tb_MovimientosByP m join tb_liquidacionByp l  on m.liquidacionByP=l.idliquidacionByP  WHERE m.LiquidacionByP=@LiquidacionByP and idtipodeMovimiento=1and l.Pagado in('S', 's') ) >=1 
 BEGIN
	ROLLBACK transaction 
	RAISERROR('No se pueden Agregar ni Modificar MOVIMIENTOS del tipo Liquidación que ya han sido pagados.', 16,1)
 END








GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[ControlarBajasMovimientos] ON [dbo].[tb_MovimientosBYP] 
FOR DELETE 

AS
SET NOCOUNT ON
DECLARE @LiquidacionByP as int--, @IdTipodeMovimiento as int

SELECT  @LiquidacionByP=LiquidacionByP  FROM deleted


IF (SELECT count( *) FROM tb_MovimientosByP m join tb_liquidacionByp l  on m.liquidacionByP=idliquidacionByP  WHERE m.LiquidacionByP=@LiquidacionByP and idtipodeMovimiento=1and l.Pagado in('S', 's','Si','SI') ) >=1 
 BEGIN
	ROLLBACK transaction 
	RAISERROR('No se puede eliminar MOVIMIENTOS del tipo Liquidación que ya han sido pagados.', 16,1)
 END






GO
ALTER TABLE [dbo].[tb_MovimientosBYP] ADD CONSTRAINT [PK_tb_MovimientosLiquidacionBYP] PRIMARY KEY CLUSTERED  ([idMovimiento]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [idx_becaprestamo] ON [dbo].[tb_MovimientosBYP] ([IdBecaYPrestamo]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tb_MovimientosBYP] ADD CONSTRAINT [FK_tb_MovimientosBYP_tb_TiposDeMovimiento] FOREIGN KEY ([IdTipoDeMovimiento]) REFERENCES [dbo].[tb_TiposDeMovimiento] ([idTipoDeMovimiento])
GO
ALTER TABLE [dbo].[tb_MovimientosBYP] WITH NOCHECK ADD CONSTRAINT [FK_tb_MovimientosBYP_tb_LiquidacionBYP] FOREIGN KEY ([LiquidacionByP]) REFERENCES [dbo].[tb_LiquidacionBYP] ([idLiquidacionByP])
GO
